package com.yulan.Array;

import org.junit.Test;

import java.util.Arrays;

/**
 * 1300. 转变数组后最接近目标值的数组和
 */
public class LeetCode_1300 {
    public int findBestValue(int[] arr, int target) {
        Arrays.sort(arr);
        int len = arr.length;
        int avg = 0;
        for(int i = 0;i<arr.length;i++){
            avg = target / len;
            if(arr[i] >= avg){
                if(Math.abs(avg*len - target) > (avg+1) * len - target){
                    return avg + 1;
                }else{
                    return avg;
                }
            }
            len --;
            target -= arr[i];
        }

        return arr[arr.length-1];
    }

    @Test
    public void test(){
        int[] arr = {4,9,3};
        System.out.println(findBestValue(arr,10));
    }
}
